using Kopernikus.Collections.Generic;

namespace Kopernikus.Parsing
{
    public interface IGrammar
    {
        Set<Production> StartProductions { get; }
        Set<Production> Productions { get; }
        Set<Symbol> Symbols { get; }

        IGrammarProductions ProductionSets { get; }
        IGrammarSymbols SymbolSets { get; }
        Production MapProduction(Production p);
    }
}